<p>在类字段上同步不是在字段本身上同步，而是在分配给它的对象上同步。因此，在与该字段内容同步的块中重新分配该字段会立即打开该块，以供其他线程访问。</p>
<h2>不规范的代码示例</h2>

<pre>
private String color = "red";

private void doSomething(){
  synchronized(color) {  // 锁实际上是由颜色变量引用的对象实例“红色”
    //...
    color = "green"; //不合规；现在允许其他线程进入该块
    // ...
  }
}
</pre>
<h2>正确的代码示例</h2>

<pre>
private String color = "red";
private Object lockObj = new Object();

private void doSomething(){
  synchronized(lockObj) {
    //...
    color = "green";
    // ...
  }
}
</pre>

